package com.cyy.common.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cyy.common.pojo.dto.RouterDto;
import com.cyy.common.pojo.dto.UserFormDto;
import com.cyy.common.pojo.entity.User;
import com.cyy.common.pojo.query.system.SystemUserQuery;
import com.cyy.common.pojo.req.LoginReq;
import com.cyy.common.pojo.req.RegisterReq;
import com.cyy.common.pojo.resp.UserInfoResp;
import com.cyy.common.pojo.vo.system.SystemUserVo;

import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author 曹云友
 * @since 2024-03-27
 */
public interface UserService extends IService<User> {

    String login(LoginReq loginReq);

    String getVerifyCode(String key);

    void register(RegisterReq req);

    UserInfoResp getUserInfo();

    List<RouterDto> getUserMenus();

    IPage<SystemUserVo> getPage(SystemUserQuery query);

    UserFormDto getUserForm(Integer userId);

    void addUser(UserFormDto req);

    void updateUser(UserFormDto req);

    void updateUserPassword(Integer userId, String password);

    void deleteUsers(String ids);
}
